/**
 * 咨询快报审核
 * @author zhengyunfei
 */
var bcSelectData=null;
var mydatagrid=null;
var indexPageViewDialog=null;
layui.use(["form","laypage","layer"],function(){
    var form=layui.form;
    var layer=layui.layer;
    form.on('select', function(data){
        // console.log(data.elem); //得到select原始DOM对象
        //console.log(data.value); //得到被选中的值]
        // console.log(data.othis); //得到美化后的DOM对象
        form.render('select');
    });
    /**
     *功能:提交审核按钮操作
     * author:wangenhao
     * */
    layui.fsButton.informationaudit = function(elem,data,datagrid){
        var flg='W';
        if(data.length==0){
            layer.alert("请先选择要操作的资讯数据！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        var isExsitsChecked=false;
        var isExsitsNotChecked=false;
        var ids="";
        for(var i=0;i<data.length;i++){
            var isCheck=data[i].check_Flg;//审核状态-只能提交待审核和审核不通过的记录
            if(isCheck !=  "Y" ){//只有非 审核通过的数据即可提交审核
                isExsitsChecked = true;
                ids += data[i].news_Id+",";
            }else {
                isExsitsNotChecked = true;
            }


        }
        if(isExsitsNotChecked){
            layer.alert("只有审核状态为[待提交审核][待审核][审核不通过]的才能提交审核！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }

        /*if(isExsitsNotChecked){
            layer.confirm('存在上次审核不通过的数据，是否确认审核通过', function(index){
                layer.close(index);
                ajaxSuccess(ids,flg,datagrid);
                return true;
            },function(){
                return ;
            });
            return ;
        }*/
        ajaxSubmitAuditSuccess(ids,flg,datagrid);
    }


    /**
     *功能:提交展示按钮操作
     * author:wangenhao
     * */
    layui.fsButton.informationshow = function(elem,data,datagrid){
        var show_flag='Y';//未提交过提交展示的记录
        if(data.length==0){
            layer.alert("请先选择要操作的资讯数据！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        var isExsitsChecked=false;
        var isExsitsNotChecked=false;
        var ids="";
        for(var i=0;i<data.length;i++){
            var isCheck=data[i].check_Flg;//审核通过的数据才可提交展示
            var isShow =data[i].show_Flg;//提交展示状态
            if(isCheck ==  "Y" && isShow != 'Y' ){//只有非 审核通过的且未提交展示数据即可提交审核
                isExsitsChecked = true;
                ids += data[i].news_Id+",";
            }else {
                isExsitsNotChecked = true;
            }


        }
        if(isExsitsNotChecked){
            layer.alert("只有审核状态为[审核通过][未提交展示]的才能提交展示！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }

        /*if(isExsitsNotChecked){
            layer.confirm('存在上次审核不通过的数据，是否确认审核通过', function(index){
                layer.close(index);
                ajaxSuccess(ids,flg,datagrid);
                return true;
            },function(){
                return ;
            });
            return ;
        }*/
        ajaxSubmitAuditSuccess(ids,"",datagrid,show_flag);
    }


    /**
     *功能:撤销展示按钮操作
     * author:wangenhao
     * */
    layui.fsButton.informationshowcancel = function(elem,data,datagrid){
        var show_flag='E';//以及提交展示的记录
        if(data.length==0){
            layer.alert("请先选择要操作的资讯数据！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        var isExsitsChecked=false;
        var isExsitsNotChecked=false;
        var ids="";
        for(var i=0;i<data.length;i++){
            var isCheck=data[i].show_Flg;//提交展示状态为已提交展示
            if(isCheck ==  "Y" ){//提交展示状态为已提交展示才可撤销展示
                isExsitsChecked = true;
                ids += data[i].news_Id+",";
            }else {
                isExsitsNotChecked = true;
            }


        }
        if(isExsitsNotChecked){
            layer.alert("只有提交展示状态为[已提交展示]的才能撤销展示！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }else {
            layer.confirm("是否确认撤销？", {
                btn: ["确定","取消"] //按钮
            }, function(){
                ajaxSubmitAuditSuccess(ids,"",datagrid,show_flag);
                layer.closeAll('dialog');
            }, function(){

            });
            // return false;
        }

    }



    /**
     *功能:审核通过按钮操作
     * author:wangenhao
     * */
    layui.fsButton.infauditAcess = function(elem,data,datagrid){
        var flg='Y';
        if(data.length==0){
            layer.alert("请先选择要操作的资讯数据",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        var isExsitsChecked = false;
        var noSubmitAudit = false;
        var acessState = false;
        var ids="";
        for(var i=0;i<data.length;i++){
            var isCheck=data[i].check_Flg;
            if(isCheck != 'Y' && isCheck != null ){//非审核通过以及待提交审核的资讯
                isExsitsChecked=true;
                ids += data[i].news_Id+",";
            }
            if(isCheck == null){//未提交审核
                noSubmitAudit = true;
            }
            if(isCheck == 'Y'){
                acessState = true;
            }
        }
        if(noSubmitAudit){
            layer.alert("请提交审核后操作！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }

        if(acessState){
            layer.alert("只有审核状态为[待审核][审核不通过]的才能置为审核通过！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }

        if(!isExsitsChecked){
            layer.alert("只有审核状态为[待审核][审核不通过]的才能置为审核通过！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }else {
            layer.confirm('存在上次审核不通过的数据，是否确认审核通过', function(index){
                layer.close(index);
                ajaxSubmitAuditSuccess(ids,flg,datagrid);
                return true;
            },function(){
                return;
            });
            return;
        }

        ajaxSubmitAuditSuccess(ids,flg,datagrid);
    }


    /**
     *功能:审核驳回按钮操作
     * author:wangenhao
     * */
    layui.fsButton.infauditRefuse = function(elem,data,datagrid){
        var flg='N';
        if(data.length==0){
            layer.alert("请先选择要操作的资讯数据",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        var isExsitsChecked = false;
        var isNoSubmit = false;
        var isCheckRefuse = false;
        var isShowType = false;
        var acess = false;
        var ids="";
        for(var i=0;i<data.length;i++){
            console.log("状态!!!!!!"+isShowType);
            var isCheck=data[i].check_Flg;
            var isShow = data[i].show_Flg;//提交展示状态
            console.log("审核状态~~~~"+isCheck+"提交展示状态~~~~"+isShow);
            if((isCheck == 'Y' || isCheck == 'W') && isShow != 'Y' ){//审核通过以及待审核状态的财经快报
                isExsitsChecked = true;
                ids += data[i].news_Id+",";
                if(isCheck == 'Y'){//审核通过
                    acess  = true;
                }
            }
            if(isShow =='Y'){//已提交展示
                console.log("进来了？你妹！！！！")
                isShowType = true;
            }
            if(isCheck == 'N'){//审核驳回状态
                isCheckRefuse = true;
            }
            if(isCheck == null){//待提交审核状态
                isNoSubmit = true;
            }

        }
        console.log("状态-------"+isShowType);
        if(isShowType){
            layer.alert("只有审核状态为[待审核][审核通过]的未提交展示的才能置为审核驳回！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }
        if(isNoSubmit){
            layer.alert("只有审核状态为[待审核][审核通过]的才能置为审核驳回！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }
        if(isCheckRefuse){
            layer.alert("只有审核状态为[待审核][审核不通过]的才能置为审核驳回！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }
        if(isExsitsChecked){
            if(acess){
                layer.confirm('存在上次审核通过的数据，是否确认更改为审核不通过', function(index){
                    layer.close(index);
                    ajaxSubmitAuditSuccess(ids,flg,datagrid)
                    return true;
                },function(){
                    return;
                });
                return;
            }else {
                ajaxSubmitAuditSuccess(ids,flg,datagrid)
            }
        }
        ajaxSubmitAuditSuccess(ids,flg,datagrid)
    }


    /**
     *功能:批量删除操作审核状态判断操作-只能删除审核不通过或待审核数据
     * author:wangenhao
     * */
    layui.fsButton.informationDelete = function(elem,data,datagrid){
        var effe_Flg='N';
        if(data.length==0){
            layer.alert("请先选择要操作的资讯数据",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        var isExsitsChecked = false;
        var isAcess = false;
        var ids="";
        for(var i=0;i<data.length;i++){
            var isCheck=data[i].show_Flg;//判断提交展示状态
            if(isCheck != 'Y'){//非已提交展示状态的资讯
                isExsitsChecked = true;
                ids += data[i].news_Id+",";
            }else{//包含审核通过的数据
                isAcess = true;
            }
        }
        if(isAcess){
            layer.alert("存在展示中的资讯，请先撤销展示！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }
        if(!isExsitsChecked){
            layer.alert("只有提交展示状态为[未提交展示][已撤销展示]的才能删除！",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return;
        }else {
            layer.confirm("是否确定删除选中的数据？", {
                btn: ["确定","取消"] //按钮
            }, function(){
                ajaxDeleteSuccess(ids,effe_Flg,datagrid)
                layer.closeAll('dialog');
            }, function(){

            });
           // return false;
        }
        // ajaxDeleteSuccess(ids,effe_Flg,datagrid)
    }

    /**
     *功能:置为首页展示按钮操作
     * author:wangenhao
     * */
    layui.fsButton.test3 = function(elem,data,datagrid){
        mydatagrid=datagrid;
        var length=data.length;
        if(length<3){
            layer.alert("请先至少选择3条需要首页展示的数据",{
                icon:2,
                skin:'layer-ext-moon'
            });
            return ;
        }
        bcSelectData=data;
        var index=layer.open({
            type: 1 //此处以iframe举例
            ,title: '置为首页展示'
            ,area: ['800px', '600px']
            ,btn: ['保存', '预览','返回']
            ,yes: function(){
                save();
            }
            ,btn2: function(){
                preView();
                return false;
            }
            ,btn3: function(){
                layer.close(index);
            }
            ,shade: 0
            ,maxmin: true
            ,content:$("#zhidingDiv")
            ,end:function(){
                // layer.close(index);
                location.reload();　　//layer.open关闭刷新
            }

        });
        indexPageViewDialog=index;
        // layer.full(index);
        //置为首页展示
        var http=window.location.protocol;
        var host=window.location.host;
        var link=http+"//"+host;
        var indexPage=  new Vue({
            el:'#app',
            data:{
                rowcount:length,
                currentSelect:bcSelectData,
                benciSelect:bcSelectData,
                url:link+"/skQuesDtl/findIndexViewList.shtml"
            } ,created: function () {
                this.getData();
            }
            ,methods:{
                getData:function(){
                    var that = this;
                    that.$http({       //调用接口
                        method: 'POST',
                        url: this.url
                    }).then(function(response){  //接口返回数据
                        this.currentSelect=response.data;
                    },function(error){
                    }).then(function(){

                    });
                },
                gernerateId:function(index){
                    return parseInt(index)+1;
                }
            }
        })

        /* 渲染表单 */
        form.render();
    }

})
/**
 * 审核操作处理
 * @param id 主键，多个以逗号分隔
 * @param status状态 Y 标识审核通过 N 标识审核驳回
 * @author zhengyunfei
 */
function ajaxSubmitAuditSuccess(id,checkFlg,datagrid,showFlag){
    $.ajax({
        url: "/InformationDetail/submitAudit.shtml", //请求的url地址
        dataType: "json", //返回格式为json
        async: true, //请求是否异步，默认为异步，这也是ajax重要特性
        data: {
            "news_Id": id,
            "check_Flg":checkFlg,
            "show_Flg":showFlag
        }, //参数值
        type: "POST", //请求方式
        /*   processData: true, //对表单data数据是否进行序列化
           contentType: false, //dataType设置你收到服务器数据的格式*/
        beforeSend: function() {
            //请求前的处理
        },
        success: function(req) {
            //请求成功时处理
            datagrid.reload();
        },
        complete: function() {
            //请求完成的处理
            tishi();
        },
        error: function() {
            //请求出错处理
        }
    });
}
/**
 * 审核操作处理批量删除特定状态的财经快报
 * @param id 主键，多个以逗号分隔
 * @param status状态 Y 标识审核通过 N 标识审核驳回
 * @author zhengyunfei
 */
function ajaxDeleteSuccess(id,checkFlg,datagrid){
    $.ajax({
        url: "/InformationDetail/submitAudit.shtml", //请求的url地址
        dataType: "json", //返回格式为json
        async: true, //请求是否异步，默认为异步，这也是ajax重要特性
        data: {
            "news_Id": id,
            "effe_Flg":checkFlg
        }, //参数值
        type: "POST", //请求方式
        /*   processData: true, //对表单data数据是否进行序列化
           contentType: false, //dataType设置你收到服务器数据的格式*/
        beforeSend: function() {
            //请求前的处理
        },
        success: function(req) {
            //请求成功时处理
            datagrid.reload();
        },
        complete: function() {
            tishi();
            //请求完成的处理
        },
        error: function() {
            //请求出错处理
        }
    });
}


/**
 * 保存
 * @author zhengyunfei
 */
function save(){
    var quesIds="";
    var hopgOrders="";
    var isNotSelectHopgOrder=false;
    // 为所有选中的复选框执行函数，
    var length=$("input[name='hopgFlg']:checked").length;
    if(length!=3){
        layer.alert("请选择3个首页展示问题",{
            icon:2,
            skin:'layer-ext-moon'
        });
        return ;
    }
    $("input[name='hopgFlg']:checked").each(function(index,element){
        var id=$(element).attr('data-id');
        var quesId=$(element).attr('data-quesId');

        var hopgOrder=$("#hopgOrder"+id).val();
        if(''==hopgOrder){
            isNotSelectHopgOrder=true;
        }
        if(index<length-1){
            quesIds+=quesId+",";
            hopgOrders+=hopgOrder+",";
        }else{
            quesIds+=quesId;
            hopgOrders+=hopgOrder;
        }
    })
    if(isNotSelectHopgOrder){
        layer.alert("请为首页展示问题配置顺序",{
            icon:2,
            skin:'layer-ext-moon'
        });
        return ;
    }
    $.ajax({
        url: "/skQuesDtl/setIndexPageView.shtml", //请求的url地址
        dataType: "json", //返回格式为json
        async: true, //请求是否异步，默认为异步，这也是ajax重要特性
        data: {
            "quesId": quesIds,
            "hopgOrder":hopgOrders
        }, //参数值
        type: "POST", //请求方式
        beforeSend: function() {
            //请求前的处理
        },
        success: function(req) {
            //请求成功时处理
            layer.closeAll();
            mydatagrid.reload();


        },
        complete: function() {
            //请求完成的处理
        },
        error: function() {
            //请求出错处理
        }
    });
}

/**
 * 预览
 * @author zhengyunfei
 */
function preView(){
    var viewData=[];
    var quesIds="";
    var hopgOrders="";
    var isNotSelectHopgOrder=false;
    // 为所有选中的复选框执行函数，
    var length=$("input[name='hopgFlg']:checked").length;
    if(length!=3){
        layer.alert("请选择3个首页展示问题",{
            icon:2,
            skin:'layer-ext-moon'
        });
        return ;
    }
    $("input[name='hopgFlg']:checked").each(function(index,element){
        var id=$(element).attr('data-id');
        // var quesId=$(element).attr('data-quesId');
        var quesId=$(element).parent().prev().html();
        var hopgOrder=$("#hopgOrder"+id).val();
        if(''==hopgOrder){
            isNotSelectHopgOrder=true;
        }
        if(index<length-1){
            quesIds+=quesId+",";
            hopgOrders+=hopgOrder+",";
        }else{
            quesIds+=quesId;
            hopgOrders+=hopgOrder;
        }
        viewData.push({
            name:quesId,
            num:hopgOrder
        })
    })
    viewData = viewData.sort(compare("num"));
    var preViewBody="";
    for(var i=0;i<viewData.length;i++){
        preViewBody+="<tr><td>"+viewData[i].num+"</td><td>"+viewData[i].name+"</td></tr>";
    }
    $("#preViewBody").html(preViewBody);
    if(isNotSelectHopgOrder){
        layer.alert("请为首页展示问题配置顺序",{
            icon:2,
            skin:'layer-ext-moon'
        });
        return ;
    }

    var indexPre=layer.open({
        type: 1 //此处以iframe举例
        ,title: '预览'
        ,area: ['400px', '300px']
        ,id:'layerDemo'+Math.random()
        ,btn: ['确认保存', '重新配置']
        ,yes: function(){
            save();
        }
        ,btn2: function(){
            layer.close(indexPre);
        }
        ,shade: 0
        ,maxmin: false
        ,content:$("#preViewDiv")
        ,end:function(){
            layer.close(indexPre);

        }

    });
    new Vue({
        el: '#preViewDiv',
        data: {
            preViewData: viewData
        }
    })
}
// 指定排序的比较函数
function compare(property){
    return function(obj1,obj2){
        var value1 = obj1[property];
        var value2 = obj2[property];
        return value1 - value2;     // 升序
    }
}

